#ifndef GAME_H__
#define GAME_H__

#define ROW 19
#define LINE 14
#define DIA 4
#define BASE 7
#define SPINSTA 4

//方块函数，base为基本类型，spinsta为旋转状态
struct Blocks
{
	int space[DIA][DIA];
}blocks[BASE][SPINSTA];

//操作方式
enum move_way
{
	CHANGE = 0,
	MOVE_LEFT,
	MOVE_RIGHT,
	MOVE_DOWN,
	PAUSE
};

void Game_start();	//游戏开始函数
void Init_data();	//初始化数据
void Interface();	//游戏界面
int Init_blocks();	//方块初始化
void Next_blocks();	//下一个方块的打印
int Read_record();	//读取历史记录
void Grade_print(int);	//分数打印
void Select_colour(int *);	//选择颜色
void Ols_load();	//棋盘读入数据
void trave_();	//根据棋盘数值打印相对应的颜色
int Set_time();		//设置下落速度
void Game_pause();	//游戏暂停
int Run();	//游戏运行
int Judge_over();	//判断游戏结束
int Judge_move(int);	//判断方块是否能移动
int Judge_chage();	//判断方块能否旋转
void Judge_dis();	//判断能否消行
void Exec_command(int);	//执行命令
void Dis_last(int);	//销毁上一位置方块
void Exec_dis(int);	//执行消行

#endif
